//
//  CPMediaDecryptTool.h
//  CPSecurityTools
//
//  Created by collegepre on 16/7/4.
//  Copyright © 2016年 collegepre. All rights reserved.
//

#import <Foundation/Foundation.h>

// mp3、.wma、.rm、.wav、.midi、.mpg、.mpeg、.avi、.rm、.rmvb、.mov、.wmv、.asf、.mp4、.webm、.ogg
typedef enum : NSUInteger {
    CPMediaDecryptTypeNone, // 未知类型
    CPMediaDecryptTypeOGG, //  OGG类型
    CPMediaDecryptTypeWEBM, // webm类型
    CPMediaDecryptTypeMP3,  // MP3类型
    CPMediaDecryptTypeMP4,  // MP4类型
    CPMediaDecryptTypeAVI,  // AVI类型
    CPMediaDecryptTypePNG,  // PNG类型
    CPMediaDecryptTypeJPG,   // JPG类型
    CPMediaDecryptTypePDF   // PDF类型
} CPMediaDecryptType;

typedef void(^CPDecryptMediaFileProgressBlock)(float progress);

typedef void(^CPDecryptMediaFileComplitionBlock)(NSError *error);

@interface CPMediaDecryptTool : NSObject



+ (instancetype)defaultDecryptTool;

/**
 *  解密视/音频文件
 *
 *  @param filePath   解密路径
 *  @param header     加密头位数
 *  @param key        加密Key
 *  @param progress   进度
 *  @param complition 完成
 */
- (void)decryptWithsuperFilePath:(NSString *)filePath  headerLength:(NSString *)header keyValue:(NSString *)key progress:(CPDecryptMediaFileProgressBlock)progress complition:(CPDecryptMediaFileComplitionBlock)complition;


/**
 *  用加密的header和Code解密视/音频文件
 *
 *  @param filePath   解密路径
 *  @param header     加密头位数
 *  @param key        加密Key
 *  @param progress   进度
 *  @param complition 完成
 */
- (void)decodeWithsuperFilePath:(NSString *)filePath  headerCodeLength:(NSString *)header keyCodeValue:(NSString *)key progress:(CPDecryptMediaFileProgressBlock)progress complition:(CPDecryptMediaFileComplitionBlock)complition;

- (void)decodeWithsuperFilePath:(NSString *)filePath andLessonCourseDic:(NSDictionary *)dic gkey:(NSString *)gkey givValue:(NSString *)givValue progress:(CPDecryptMediaFileProgressBlock)progress complition:(CPDecryptMediaFileComplitionBlock)complition;

@end
